iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 27
0
自我挑戰組

今晚我想來點 Ruby on Rails 系列 第 27

<Day 27>今晚我想點 ruby on rails 的 MVC

  • 分享至 

  • xImage
  •  

為什麼今天要MVC呢?

貫徹在ruby on rails的其中一句話 "慣例優於設定",所有人都依照這個慣例在做事,即便你今天接到新專案也知道他是MVC的架構。
將每一個部分拆開來可以很清楚的知道哪些事處理畫面、邏輯該寫在哪裡、跟資料庫要檔案寫在哪比較好,跟你的午餐便當盒一樣分成一格一格,雖然混再一起也可以吃,但是這樣比較美觀,而且百年便當店也這麼做,你各位不要標新立異阿~

MVC路徑

MVC 的 M - Model

Model 負責資料存取、定義資料的結構

Model可以對資料直接存取,當 View 或 Controller 需要資料(讀取)或更新資料庫(新增、更新、刪除),假設你要搜尋某些資料,Model會將你所輸入的程式碼翻譯成SQL(資料庫查詢語言),你不需要自己輸入 SQL,Model 都幫你做好了。

MVC 的 V - View

View 負責顯示資料

把Model提供的資料呈現給在瀏覽器,關於前端的畫面都是由View負責處理。

MVC 的 C - Controller

Controller 負責處理訊息

從 routes 找到Controller的其中一個Action後。Action的工作就是根據客戶端傳來的資料告訴 Model 跟 View 該做甚麼事。

瀏覽器送出httprequest之後,會透過routes找到相對應的controller裡面的action,如果需要跟資料庫拿資料會透過model將你的程式碼翻譯成SQL,從資料庫拿到我們需要的資料後再渲染到view上面傳回到瀏覽器。

這樣子看得懂嗎?


上一篇
<Day 26>helper_method & helpers
下一篇
<Day 28>如何使用環境變數
系列文
今晚我想來點 Ruby on Rails 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言